package cn.stylefeng.guns.modular.tcpconnection.service;

import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.guns.modular.tcpconnection.entity.DeviceConnect;
import cn.stylefeng.guns.modular.tcpconnection.pojo.request.DeviceConnectRequest;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 *  服务类
 *
 * @author gummybear
 * @date 2023/06/29 19:15
 */
public interface DeviceConnectService extends IService<DeviceConnect> {

	/**
     * 新增
     *
     * @param deviceConnectRequest 请求参数
     * @author gummybear
     * @date 2023/06/29 19:15
     */
    void add(DeviceConnectRequest deviceConnectRequest);

	/**
     * 删除
     *
     * @param deviceConnectRequest 请求参数
     * @author gummybear
     * @date 2023/06/29 19:15
     */
    void del(DeviceConnectRequest deviceConnectRequest);

	/**
     * 编辑
     *
     * @param deviceConnectRequest 请求参数
     * @author gummybear
     * @date 2023/06/29 19:15
     */
    void edit(DeviceConnectRequest deviceConnectRequest);

	/**
     * 查询详情
     *
     * @param deviceConnectRequest 请求参数
     * @author gummybear
     * @date 2023/06/29 19:15
     */
    DeviceConnect detail(DeviceConnectRequest deviceConnectRequest);

	/**
     * 获取列表
     *
     * @param deviceConnectRequest        请求参数
     * @return List<DeviceConnect>   返回结果
     * @author gummybear
     * @date 2023/06/29 19:15
     */
    List<DeviceConnect> findList(DeviceConnectRequest deviceConnectRequest);

	/**
     * 获取列表（带分页）
     *
     * @param deviceConnectRequest              请求参数
     * @return PageResult<DeviceConnect>   返回结果
     * @author gummybear
     * @date 2023/06/29 19:15
     */
    PageResult<DeviceConnect> findPage(DeviceConnectRequest deviceConnectRequest);

    /**
     *
     * TCP 监听
     */
    void tcpListenerService();
}